Selective mirrored site accesses from a communication

ABSTRACT

A method, system, and program for selective mirrored site access from a communication are provided. When composing a communication, multiple mirrored site addresses are embedded with a target site address. The sender may request to enter the mirrored site addresses or a browser supplies the mirrored site addresses. At each client system receiving the communication, selections of site addresses accessible for each intended recipient are detected. Thus, each client system, when outputting the communication, displays the selection of mirrored site address accessible to the intended recipient accessing that client system.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates in general to improved network systems andin particular to a method for selectively sending and filtering links tomirrored sites in a communication. Still more particularly, the presentinvention relates to selectively displaying a selection of mirrored siteaddress from among multiple mirrored site addresses embedded within acommunication depending on which mirrored sites a particular recipientof the communication can access.

2. Description of the Related Art

The development of computerized information resources, such asinterconnection of computer networks, allows users of data processingsystems to link with servers within a network to access vast amounts ofelectronic information. Multiple types of computer networks have beendeveloped that provide different types of security and access andoperate at different speeds. For example, the internet, also referred toas an “internetwork”, is a set of computer networks, possiblydissimilar, joined together by means of gateways that handle datatransfer and the conversion of messages from the sending network to theprotocols used by the receiving network. When capitalized, the term“Internet” refers to the collection of networks and gateways that usethe TCP/IP suite of protocols. The Internet is readily accessiblethrough a multitude of service providers. An intranet is another networkdesigned like the Internet for information processing, but in contrastto the Internet, an intranet is typically accessible only to thosewithin a company or organization providing the intranet.

Servers connected within a network provide the information resources.The locations of servers within a network are identified by a networkaddress, such as a Universal Resource Locator (URL). The URL specifiesthe protocol to be used in accessing the resource, the name of theserver on which the resource resides, and optionally, the path to aresource.

Data available from one network location is often duplicated at or“mirrored” at other network locations. These duplicate locations arecommonly referred to as “mirrored sites.” Often, if mirrored sitesexist, the mirrored sites are displayed on an initial page retrievedfrom a first network location. A user may then select from among themultiple mirrored sites to download a file or application.

Mirrored sites are beneficial because the same or similar information isprovided at multiple locations, allowing a user to attempt to choose thefastest location. For example, the Linux operating system can bedownloaded from multiple mirrored sites with different access speeds ateach site. Additionally, the client system may include a softwarefunction (such as the function described in U.S. Pat. No. 6,178,460)that monitors the performance of the mirrored locations in order tooptimize the retrieval of information from the mirrored sites.

In addition to being a source of information, networks typically enablecommunications between clients. Multiple types of communication mediumsare available across a network, such as electronic mail (e-mail),instant messaging, chatting and others. E-mail allows a person toquickly and easily send textual messages and other information, such asa textual link to a network location accessible to a recipient.Typically, e-mail client software allows the recipient of an e-mail toclick on a selectable link displayed within an e-mail to initiateopening a browser window and attempt access of the network location.

One common use of e-mail is sending selectable site links to alertrecipients to new downloadable files and other resources. Further, auser may send an e-mail with multiple selectable mirrored site links tothe same resource. Currently, where an e-mail is sent that includesselectable mirrored site links, all recipients receive the same list,whether the mirrored sites are accessible to all recipients or not. Forexample, some mirrored sites may be accessible within an intranet whileothers are accessible within the Internet, but not all recipients haveaccess to the intranet. Such a listing can be confusing for recipientsand time consuming to find those mirrored sites accessible to eachrecipient, particularly as the number of listed mirrored sitesincreases.

Therefore, it would be advantageous to have an improved method, system,and program for selectively enabling access to only those mirrored sitesavailable to the recipient of a communication containing mirrored siteaddresses.

SUMMARY OF THE INVENTION

In view of the foregoing, it is therefore an object of the presentinvention to provide improved network systems.

It is another object of the present invention to provide a method,system and program for selectively sending and filtering links tomirrored sites in a communication.

It is yet another object of the present invention to provide a method,system and program for selectively displaying a selection of mirroredsite address from among multiple mirrored site addresses embedded withina communication depending on which mirrored sites a particular recipientof the communication may access.

According to one aspect of the present invention, a sender of acommunication opens a target site address within a browser window. Thesender then requests to send a link to the target site address to atleast one recipient. By invoking the request to send a link to at leastone recipient, a communication window is opened by the browser.Additionally, the browser determines whether there are any mirrored siteaddresses associated with the current target site address. The browsermay search a network for mirrored site addresses or the mirrored siteaddresses may be embedded with the source code for the web site accessedfrom the current target site address. Any mirrored site addresses areembedded with the communication sent to a recipient designated by thesender such that when the communication is received the embedded siteaddresses are read by the e-mail client or browser at the recipientsystem and displayed with the communication if the mirrored siteaddresses are accessible to the recipient.

Alternatively, according to another aspect of the present invention, asender of a communication opens a communication window and enters atarget site address. The sender then requests to enter mirrored siteaddresses. The mirrored site addresses entered by the sender areembedded with the target site address such that when the communicationis received the embedded site addresses are read by the e-mail client orbrowser at the recipient system and displayed with the communication ifthe mirrored site addresses are accessible to the recipient.

According to yet another aspect of the present invention, acommunication is received at a client system with multiple mirrored siteaddresses. The communication is received by a particular recipient fromamong at least one intended recipient. A selection of accessible siteaddresses for the particular recipient is detected from among themultiple mirrored site addresses. The e-mail client receiving thecommunication or the browser invoked from the communication may detectthe selection of accessible site addresses for the particular recipient.From among the multiple mirrored site addresses, only the selection ofaccessible site addresses for the particular recipient is displayed. Aparticular attributed may be associated with the display of theselection of accessible mirrored site addresses.

All objects, features, and advantages of the present invention willbecome apparent in the following detailed written description.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself however, as well as apreferred mode of use, further objects and advantages thereof, will bestbe understood by reference to the following detailed description of anillustrative embodiment when read in conjunction with the accompanyingdrawings, wherein:

FIG. 1 is a block diagram depicting a computer system in which thepresent method, system, and program may be implemented;

FIG. 2 is a block diagram depicting a distributed network system forfacilitating communications and access to mirrored sites;

FIG. 3 is a block diagram depicting an example of a networkingenvironment in which accessible mirrored sites are displayed accordingto recipient in accordance with the method, system, and program of thepresent invention;

FIGS. 4A and 4B are illustrative examples of a sender composed e-mailwith embedded mirrored site addresses depicted in accordance with themethod, system, and program of the present invention

FIGS. 5A and 5B are illustrative examples of a sender composed e-mailwith embedded mirrored site addresses initiated by the web browserdepicted in accordance with the method, system, and program of thepresent invention;

FIGS. 6A and 6B are illustrative examples of received e-mails includingembedded mirrored site addresses depicted in accordance with the method,system, and program of the present invention;

FIG. 7 is a high level logic flowchart depicting a process and programfor user entered embedded mirrored site addresses;

FIG. 8 is a high level logic flowchart illustrating a process andprogram for sending mirrored site addresses from a browser initiatedcommunication;

FIG. 9 is a high level logic flowchart depicting a process and programperformed by the e-mail client for filtering mirrored site addresses ina received communication according to the network access of therecipient; and

FIG. 10 is a high level logic flowchart illustrating a process andprogram performed by the browser for filtering mirrored site addressesin a received communication according to the network access of therecipient.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring now to the drawings and in particular to FIG. 1, there isdepicted one embodiment of a computer system in which the presentmethod, system, and program may be implemented. The present inventionmay be executed in a variety of systems, including a variety ofcomputing systems and electronic devices under a number of differentoperating systems. In general, the present invention is executed in acomputer system that performs computing tasks such as manipulating datain storage that is accessible to the computer system. In addition, thecomputer system includes at least one output device and at least oneinput device.

Computer system 10 includes a bus 22 or other communication device forcommunicating information within computer system 10, and at least oneprocessing device such as processor 12, coupled to bus 22 for processinginformation. Bus 22 preferably includes low-latency and higher latencypaths that are connected by bridges and adapters and controlled withincomputer system 10 by multiple bus controllers. When implemented as aserver system, computer system 10 typically includes multiple processorsdesigned to improve network servicing power.

Processor 12 may be a general-purpose processor such as IBM's PowerPC™processor that, during normal operation, processes data under thecontrol of operating system and application software accessible from adynamic storage device such as random access memory (RAM) 14 and astatic storage device such as Read Only Memory (ROM) 16. The operatingsystem preferably provides a graphical user interface (GUI) to the user.In a preferred embodiment, application software contains machineexecutable instructions that when executed on processor 12 carry out theoperations depicted in the flowcharts of FIGS. 7, 8, 9, and 10, andothers described herein. Alternatively, the steps of the presentinvention might be performed by specific hardware components thatcontain hardwired logic for performing the steps, or by any combinationof programmed computer components and custom hardware components.

The present invention may be provided as a computer program product,included on a machine-readable medium having stored thereon the machineexecutable instructions used to program computer system 10 to perform aprocess according to the present invention. The term “machine-readablemedium” as used herein includes any medium that participates inproviding instructions to processor 12 or other components of computersystem 10 for execution. Such a medium may take many forms including,but not limited to, non-volatile media, volatile media, and transmissionmedia. Common forms of non-volatile media include, for example, a floppydisk, a flexible disk, a hard disk, magnetic tape or any other magneticmedium, a compact disc ROM (CD-ROM) or any other optical medium, punchcards or any other physical medium with patterns of holes, aprogrammable ROM (PROM), an erasable PROM (EPROM), electrically EPROM(EEPROM), a flash memory, any other memory chip or cartridge, or anyother medium from which computer system 10 can read and which issuitable for storing instructions. In the present embodiment, an exampleof a non-volatile medium is mass storage device 18 which as depicted isan internal component of computer system 10, but will be understood toalso be provided by an external device. Volatile media include dynamicmemory such as RAM 14. Transmission media include coaxial cables, copperwire or fiber optics, including the wires that comprise bus 22.Transmission media can also take the form of acoustic or light waves,such as those generated during radio frequency or infrared datacommunications.

Moreover, the present invention may be downloaded as a computer programproduct, wherein the program instructions may be transferred from aremote computer such as a server 40 to requesting computer system 10 byway of data signals embodied in a carrier wave or other propagationmedium via a network link 34 (e.g., a modem or network connection) to acommunications interface 32 coupled to bus 22. Communications interface32 provides a two-way data communications coupling to network link 34that may be connected, for example, to a local area network (LAN), widearea network (WAN), or as depicted herein, directly to an InternetService Provider (ISP) 37. In particular, network link 34 may providewired and/or wireless network communications to one or more networks.

ISP 37 in turn provides data communication services through network 102.Network 102 may refer to the worldwide collection of networks andgateways that use a particular protocol, such as Transmission ControlProtocol (TCP) and Internet Protocol (IP), to communicate with oneanother. ISP 37 and network 102 both use electrical, electromagnetic, oroptical signals that carry digital data streams. The signals through thevarious networks and the signals on network link 34 and throughcommunication interface 32, which carry the digital data to and fromcomputer system 10, are exemplary forms of carrier waves transportingthe information.

When implemented as a server system, computer system 10 typicallyincludes multiple communication interfaces accessible via multipleperipheral component interconnect (PCI) bus bridges connected to aninput/output controller. In this manner, computer system 10 allowsconnections to multiple network computers.

Further, multiple peripheral components may be added to computer system10, connected to multiple controllers, adapters, and expansion slotscoupled to one of the multiple levels of bus 22. For example, an audioinput/output 28 is connectively enabled on bus 22 for controlling audioinput through a microphone or other sound or lip motion capturing deviceand for controlling audio output through a speaker or other audioprojection device. A display 24 is also connectively enabled on bus 22for providing visual, tactile or other graphical representation formats.A keyboard 26 and cursor control device 30, such as a mouse, trackball,or cursor direction keys, are connectively enabled on bus 22 asinterfaces for user inputs to computer system 10. In alternateembodiments of the present invention, additional input and outputperipheral components may be added.

Those of ordinary skill in the art will appreciate that the hardwaredepicted in FIG. 1 may vary. Furthermore, those of ordinary skill in theart will appreciate that the depicted example is not meant to implyarchitectural limitations with respect to the present invention.

With reference now to FIG. 2, a block diagram depicts a distributednetwork system for facilitating communications and access to mirroredsites. Distributed data processing system 100 is a network of computersin which the present invention may be implemented. Distributed dataprocessing system 100 contains a network 102, which is the medium usedto provide communications links between various devices and computersconnected together within distributed data processing system 100.Network 102 may include permanent connections such as wire or fiberoptics cables, temporary connections made through telephone connectionsand wireless transmission connections.

In the depicted example, servers 104 and 105 are connected to network102. In addition, clients 108 and 110 are connected to network 102 andprovide a user interface through input/output (I/O) devices 109 and 111.Clients 108 and 110 may be, for example, personal computers or networkcomputers. For purposes of this application, a network computer is anycomputer coupled to a network, which receives a program or otherapplication from another computer coupled to the network.

The client/server environment of distributed data processing system 100is implemented within many network architectures. For example, thearchitecture of the World Wide Web (the Web) follows a traditionalclient/server model environment. The terms “client” and “server” areused to refer to a computer's general role as a requester of data (theclient) or provider of data (the server). In the Web environment, webbrowsers such as Netscape Navigator™ typically reside on client systems108 and 110 and render Web documents (pages) served by a web server,such as servers 104 and 105. Additionally, each of client systems 108and 110 and servers 104 and 105 may function as both a “client” and a“server” and may be implemented utilizing a computer system such ascomputer system 10 of FIG. 1. Further, while the present invention isdescribed with emphasis upon servers 104 and 105 enabling downloads orcommunications, the present invention may also be performed by clientsystems 108 and 110 engaged in peer-to-peer network communications anddownloading via network 102.

The Web may refer to the total set of interlinked hypertext documentsresiding on servers all around the world. Network 102, such as theInternet, provides an infrastructure for transmitting these hypertextdocuments between client systems 108 and 110 and servers 104 and 105.Documents (pages) on the Web may be written in multiple languages, suchas Hypertext Markup Language (HTML) or Extensible Markup Language (XML),and identified by Uniform Resource Locators (URLs) that specify theparticular web page server from among servers, such as server 104 andpathname by which a file can be accessed, and then transmitted from theparticular web page server to an end user utilizing a protocol such asHypertext Transfer Protocol (HTTP) or file-transfer protocol (FTP). Webpages may further include text, graphic images, movie files, and sounds,as well as Java applets and other small embedded software programs thatexecute when the user activates them by clicking on a link. Inparticular, multiple web pages may be linked together to form a website. The web site is typically accessed through an organizational frontweb page that provides a directory to searching the rest of the webpages connected to the web site. While network 102 is described withreference to the Internet, network 102 may also operate within anintranet or other available networks.

A single server, such as server 104 may serve as the host for one ormore mirrored sites, each identified by a specific site address,hereinafter termed a mirrored site address. Alternatively, multipleservers such as both server 104 and server 105 may serve as host formultiple mirrored sites.

Additionally, servers 104 and 105 may server as communication hosts fortransferring communications between clients 108 and 110. For example,servers 104 and 105 may serve as communication hosts for e-mailcommunication between clients 108 and 110. For purposes of illustration,the examples following are implemented using e-mail communications,however, other types communications may be used to implement the presentinvention including, but not limited to, instant messaging, textmessaging, chatting, video conferencing and any other form ofcommunication made available via network 102.

Referring now to FIG. 3, a block diagram depicts an example of anetworking environment in which accessible mirrored sites are displayedaccording to recipient in accordance with the method, system, andprogram of the present invention. As illustrated, a sender client 320 iscommunicatively connected to multiple networks, including Internet 302and intranet 304.

A sender of a communication, such as an e-mail, initiates thecommunication from sending client 320. An e-mail client 326 residing onsending client 320 manages the sender's e-mail communications. E-mailclient 326 processes and stores messages created by and received by thesender. E-mail client 326 also includes a mail reader which provides theGUI that is used to display e-mail communications. E-mail client 326 maybe implemented by using currently available mail systems, such as Lotus™Notes, which is available from Lotus Development Corporation. It will beappreciated by one skilled in the art that for other types ofcommunications, such as instant messaging or video messaging, othertypes of communication controllers may be implemented within sendingclient 320.

A browser 324 within sending client 320 establishes the connections withInternet 302 and intranet 304 and presents information to the sender viaa GUI. Browser 324 may support the functionality provided by HTTP.Further, browser 324 preferably supports other remote network services,such as an FTP service, which facilitates the transfer and sharing offiles across networks, such as the Internet. Additionally, browser 324may incorporate e-mail client 326 and support other protocols.

An e-mail communication via Internet 302 is typically managed by ane-mail server, such as e-mail server 330. E-mail server 330 includes amail management service 334 which includes a mail daemon and storagemedia. In one embodiment, e-mail server 330 receives an e-mail sent bysending client 320 and stores the e-mail until requested by receivingclient 310. Receiving client 310 includes an e-mail client 316 forrequesting e-mail from e-mail server 330 and managing the display andstorage of the e-mail received at receiving client 310.

In one example, the sender composes an e-mail including the URL of amirrored site accessible via Internet 302, such as a location served bynetwork server 340. In addition, the e-mail includes the site address ofa mirrored site accessible via an intranet 304, such as the locationserved by network server 350. Further, in the example, the senderaddresses the e-mail to reach receiving client 310 and receiving client350. Receiving client 350 has network access to both intranet 304 andInternet 302. Receiving client 310, has network access to Internet 302,but not intranet 304.

Preferably, when an e-mail containing mirrored site addresses isreceived by an e-mail client, such as e-mail clients 316 and 356, thee-mail client may selectively display within the e-mail only thosemirrored site addresses to which the recipient has access. E-mail client316 may determine which site addresses the recipient can access bysending a Packet Internet Groper (PING) to each of the site addresses orusing another method of testing whether a network connection can beestablished between receiving client 310 and the server hosting the siteaddress. Thus, in the example, e-mail client 316 would enable thedisplay of the site address accessible via Internet 302 at receivingclient 310 and e-mail client 356 would enable the display of the siteaddresses accessible via Internet 302 and intranet 304 at receivingclient 350. Additionally, the e-mail client preferably displays mirroredsite addresses within an e-mail with a specific attribute, such as aparticular color that is distinguishable from normal site addresses. Inparticular, inaccessible mirrored site addresses may be displayed withanother specific attribute and the link to the inaccessible mirroredsite addresses may be deactivated.

Alternatively, the e-mail client may display all mirrored site addressesas selectable links or objects within an e-mail and allow the recipientto select one of the mirrored site addresses. In response to such aselection, the browser, such as browsers 314 and 352, detects themirrored URLs within the body of the e-mail or collects mirrored siteaddresses by searching the network for sites that provide the same orsimilar files. The browser then determines which mirrored sites the usermay access. The browser may return a selectable list of mirrored sitesor automatically begin communications with the first accessible mirroredsite.

In addition to only displaying those mirrored sites to which a recipienthas access, the mirrored site addresses may be filtered for othercharacteristics. For example, mirrored site addresses may be filtered sothat recipients would only view a site address for a mirrored site thatis password protected if the recipient possesses a password to accessthe mirrored site. In another example, mirrored site addresses may befiltered so that recipients would only view site address for thosemirrored sites that have downloadable data compatible with the operatingsystem running at the recipient client.

Network servers 340 and 350 include mirrored files 342 and 352. Byaccessing the web pages from the site addresses associated with networkservers 340 and 350, a user is preferably enabled to elect to downloadfiles 342 and 352. It will be understood that network servers 340 and350 may include multiple types of resources, including files,applications, web pages, processing services, and any other functionprovided by a server via a network that may be mirrored at anotherlocation. Further, it will be understood that mirrored resources neednot be exactly the same resource, but may be resources with similarcharacteristics.

With reference now to FIGS. 4A and 4B, illustrative examples of a sendercomposed e-mail with embedded mirrored site addresses are depicted inaccordance with the method, system, and program of the presentinvention. In this example, sender “Tom Jones” composes sender e-mail400 to an e-mail group called “developers” and to John Anderson, asillustrated at reference numeral 406. The subject of sender e-mail 400is “download new version 5.4x” as depicted at reference numeral 408. Themessage informs the recipients that they may download the new version ofsoftware at a primary site address “w3.ibm.com/newversion54x/os2”, asillustrated at reference numeral 404. This target site address islocated within intranet 304 as illustrated in FIG. 3.

The target site address illustrated at reference numeral 404 providesdownloadable software that is also available at mirrored sites.According to one embodiment, the sender may preferably enter the siteaddresses for the mirrored sites in association with the target siteaddress illustrated at reference numeral 404. To perform this function,in the example, when the sender moves a cursor 402 over the target siteaddress and right-clicks, the sender may elect to enter the siteaddresses for mirrored sites. Alternatively, other input by the sendermay initiate the entry of site addresses for mirrored sites.

In the example, the site addresses illustrated at reference numeral 414in FIG. 4B are the site addresses for mirrored sites entered by thesender in association with the target site address illustrated atreference numeral 404. For purposes of the example,“w3.ibm.com/newversion54x/linux” is another site address accessible viaintranet 304 that provides the download for a different operatingsystem. In comparison, “www.ibm.com/newversion54x” is accessible viaInternet 302.

The site addresses for mirrored sites illustrated at reference numeral414 are preferably embedded in the e-mail text in association with thetarget site address. A special flag may be set or tag used to identifyembedded mirrored site addresses. When sender e-mail 410 is displayed,the site addresses for mirrored sites may be hidden or visible asselectable links.

Referring now to FIGS. 5A and 5B, illustrative examples of a sendercomposed e-mail with embedded mirrored site addresses initiated by theweb browser are depicted in accordance with the method, system, andprogram of the present invention. The content of the examples depictedin FIGS. 5A and 5B is the same as that illustrated in FIGS. 4A and 4B,but the methods of embedding mirrored site addresses are distinguishablebetween the sets of figures.

In this example, the sender is viewing a browser window 500 displayingthe web site accessible at the site address“w3.ibm.com/newversion54x/os2” as illustrated at reference numeral 504.At the web site, a user may initiate a download by selecting selectabletext 506. For example, a user may select selectable text 506 bypositioning cursor 502 over the text and clicking. It will be understoodby one skilled in the art that other method for initiating a downloadfrom a web page are available. Further, it will be understood thatresources other than software downloads may be available at mirroredsites.

While viewing the web site, a sender may elect to send an e-mail orother communication including the site address of the web page to otherusers. The sender may initiate this communication, for example, bypositioning cursor 502 over selectable send link 508 and clicking. Itwill be understood by one skilled in the art that other methods forinvoking a function, such as sending a communication, are available.

By selecting send link 508, an e-mail or other communication window isopened, such as the window illustrating a sender e-mail 510 in FIG. 5B.In the example, the same sender, Tom Jones is sending the e-mail to thedevelopers group and John Anderson. The browser preferably detects thatthe resource available at the current site is also available at mirroredsites. In particular, the browser may detect that the resource availableat the current site is also available at mirrored sites from mirroredsite addresses tagged within the coding of the web site. The browserthen embeds the mirrored site addresses within sender e-mail 510 asillustrated at reference numeral 512.

With reference now to FIGS. 6A and 6B, illustrative examples of receivede-mails including embedded mirrored site addresses are depicted inaccordance with the method, system, and program of the presentinvention. In the example, a recipient e-mail 600 illustrated in FIG. 6Ais received by John Anderson. According to one embodiment of the presentinvention, the e-mail client detects which mirrored site addresses therecipient has access to and only displays site addresses of accessiblesites. The e-mail client may transmit a PING to each site address todetermine if the recipient will have access. In this example, after thee-mail client determined the accessible sites, only the site addressillustrated at reference numeral 602 is available. In comparison,recipient e-mail 604 in FIG. 6B is received by developers, who canaccess the mirrored sites at all three site addresses, as depicted atreference numeral 606. Although not depicted, a specific text attributedis preferably applied to the site addresses depicted at referencenumerals 602 and 606 to indicate the site addresses are mirrored sites.

In an alternate embodiment, the e-mail client displays all of theembedded mirrored site addresses with the target site address withoutfiltering. A recipient selects one of the site addresses, which invokesa browser window. The browser then detects the mirrored site addresseswithin the e-mail and determines which, if any, are accessible to therecipient of the e-mail. The browser may then open communications withall the accessible sites or with a first accessible site. Further, wheremultiple mirrored sites are accessible to a recipient, the browser mayattempt to optimize the accesses by finding the download site with thefastest access speed.

Referring now to FIG. 7, there is depicted a high level logic flowchartof a process and program for user entered embedded mirrored siteaddresses. As illustrated, the process starts at block 700 andthereafter proceeds to block 702. Block 702 depicts a determination asto whether a mirrored site entry selection is made. This selection maybe made as illustrated in previous examples where the user right clickson a target site address to select to add mirrored site addresses. Ifthe selection is not received, the process iterates at block 702. If theselection is received, then the process passes to block 704. Block 704depicts opening a window for the entry of mirrored site addresses.Alternatively, a user may highlight a site address and then right clickon the highlighted site address to designate the site address as amirrored site address. Next, block 706 illustrates a determination as towhether a user has completed the entry of mirrored sites. If the userhas not completed the entry, then the process iterates at block 706. Ifthe user has completed the entry, then the process passes to block 708.Block 708 depicts embedding the mirrored site addresses in the e-mailand the process ends. In an alternate embodiment, the mirrored siteaddresses are embedded in an alternate type of communication, such as aninstant message.

With reference now to FIG. 8, there is illustrated a high level logicflowchart of a process and program for sending mirrored site addressesfrom a browser initiated communication. As depicted, the process startsat block 800 and thereafter proceeds to block 802. Block 802 illustratesa determination as to whether a request to send a link is received. If arequest to send a link is not received, then the process iterates atblock 802. If a request to send a link is received, then the processpasses to block 804. Block 804 illustrates opening a communicationwindow, such as an e-mail client window. Next, block 806 depicts adetermination as to whether any mirrored sites are embedded within thecoding of the web site accessed from the current site address.Alternatively, the browser may initiate a search for other mirroredsites. If other mirrored sites are not available, then the processpasses to block 808. Block 808 depicts writing the current site addressas a selectable link in the communication window or copying the currentweb page into the communication window, and the process ends. If othermirrored sites are available, then the process passes to block 810.Block 810 depicts embedding the mirrored site addresses in associationwith the current site address and block 812 depicts writing the currentURL as a selectable link in the communication window. Then, the processends. The user may specify the recipients and other data within thecommunication before the communication is sent.

Referring now to FIG. 9, there is depicted a high level logic flowchartof a process and program performed by the e-mail client for filteringmirrored site addresses in a received communication according to thenetwork access of the recipient. As illustrated, the process starts atblock 900 and thereafter proceeds to block 902. Block 902 depicts adetermination of whether a new communication with mirrored siteaddresses is received. If a new communication with mirrored siteaddresses is not received, then the process iterates at block 902. If anew communication with mirrored site addresses is received, then theprocess passes to block 904. Block 904 illustrates detecting whichmirrored sites are accessible to the recipient. The e-mail client maydetect which mirrored sites are accessible to the recipient by pingingthe site addresses or another method of detecting whether access will beavailable. Next, block 906 depicts displaying only those site addressesfor web sites accessible to the recipient as selectable links with atypeface attribute associated with mirrored sites, and the process ends.

With reference now to FIG. 10, there is illustrated a high level logicflowchart of a process and program performed by the browser forfiltering mirrored site addresses in a received communication accordingto the network access of the recipient. As depicted, the process startsat block 1000 and thereafter proceeds to block 1002. Block 1002illustrates a determination whether an site address is selected from acommunication with embedded mirrored site addresses. If a selection isnot received, then the process iterates at block 1002. Once a selectionis received, the process passes to block 1004. Block 1004 depictsdetecting which site addresses are accessible to the recipient. Thebrowser reads the mirrored site addresses from the communication anddetects which site addresses are accessible to the recipient by a PINGor other method. Next, block 1006 illustrates initiating access to thefirst accessible mirrored site address. Alternatively, if the siteaddress selected by the recipient is accessible to the recipient, thenaccess to the selected site address may be initiated first. Thereafter,block 1008 depicts displaying selectable accessible mirrored siteaddresses. For example, a new window may be opened that lists theselectable accessible mirrored site addresses or the site addresses maybe added to a list of selectable site addresses already displayed. Next,block 1010 illustrates optimizing the resource access with the otheraccessible mirrored locations once a resource is selected. For example,the browser may detect which mirrored locations provide the bestdownload speed and switch between the sites to optimize download time.Then, the process ends.

It is important to note that while the present invention has beendescribed in the context of a fully functioning data processing system,those of ordinary skill in the art will appreciate that the processes ofthe present invention are capable of being distributed in the form of acomputer readable medium of instructions and a variety of forms and thatthe present invention applies equally regardless of the particular typesof signal bearing media actually used to carry out the distribution.Examples of computer readable media include recordable-type media, suchas a floppy disk, a hard disk drive, a RAM, CD-ROMs, DVD-ROMs, andtransmission-type media, such as digital and analog communicationslinks, wired or wireless communications links using transmission forms,such as, for example, radio frequency and light wave transmissions. Thecomputer readable media may take the form of coded formats that aredecoded for actual use in a particular data processing system.

While the invention has been particularly shown and described withreference to a preferred embodiment, it will be understood by thoseskilled in the art that various changes in form and detail may be madetherein without departing from the spirit and scope of the invention.

1. A system for selectively displaying mirrored site addresses in acommunication, comprising: a data processing system for accessing atleast one network; said data processing system further comprising:means, responsive to receiving via said at least one network anelectronic mail communication with a plurality of mirrored siteaddresses each providing separate access to a same selection ofinformation for a particular recipient from among a plurality ofintended recipients, for transmitting a separate signal to each of saidplurality of mirrored site addresses to detect whether each of saidplurality of mirrored site addresses is accessible to said dataprocessing system via said at least one network; means for detecting aselection of site addresses accessible to said particular recipient fromamong said plurality of mirrored site addresses from which a separatereturn signal is received at said data processing system responsive tosaid separate signal transmitted to each of said plurality of mirroredsite addresses; and means for only displaying said selection ofaccessible site addresses in a display of said electronic mailcommunication to said particular recipient.
 2. The system according toclaim 1 for selectively displaying mirrored site addresses furthercomprising: means for detecting whether said particular recipient isprivileged to access each site address from among said selection ofaccessible site addresses; and means for indicating in said display ofsaid electronic mail communication whether said particular recipient isprivileged to access each site address from among said selection ofaccessible site addresses.
 3. The system according to claim 1 forselectively displaying mirrored site addresses further comprising: meansfor detecting whether said data processing system receiving saidelectronic mail communication is compatible with a resource located ateach of said selection of accessible site addresses; and means forindicating in said display of said electronic mail communication whethersaid data processing system is compatible with said resource located ateach of said selection of accessible site addresses.
 4. The systemaccording to claim 1 for selectively displaying mirrored site addressesfurther comprising: an electronic mail client executing on said dataprocessing system for detecting said selection of accessible siteaddresses for said particular recipient from said electronic mailcommunication.
 5. The system according to claim 1 for selectivelydisplaying mirrored site addresses further comprising: a browserexecuting on said data processing system for detecting said selection ofaccessible site addresses for said particular recipient responsive todetecting a request to access a site address from among said pluralityof mirrored site addresses.
 6. The system according to claim 1 forselectively displaying mirrored site addresses further comprising: meansfor detecting said plurality of mirrored site addresses embedded withinsaid communication.
 7. A computer program product for selectivelydisplaying mirrored site addresses in a communication residing on avolatile or non-volatile computer readable medium comprisinginstructions which when executed on a computer system cause the computersystem to: responsive to receiving an electronic mail communicationaddressed to a particular recipient from among at least one intendedrecipient at an electronic mail client from which said particularrecipient accesses said electronic mail communication at a client systemcommunicatively connected to at least one network with a plurality ofmirrored site addresses each providing separate access to a sameselection of information, transmit by said electronic mail client aseparate signal to each of said plurality of mirrored site addresses todetect whether each of said plurality of mirrored site addresses isaccessible to said client system via said at least one network; detect aselection of accessible site addresses for said particular recipientfrom among said plurality of mirrored site addresses from which aseparate return signal is received by said client system responsive tosaid separate signal transmitted to each of said plurality of mirroredsite addresses; and display only said selection of accessible siteaddresses in a display of said electronic mail communication to saidparticular recipient.
 8. The computer program product according to claim7 for selectively displaying mirrored site addresses wherein thecomputer-readable program when executed on a computer further causes thecomputer to: detect whether said particular recipient is privileged toaccess each site address from among said selection of accessible siteaddresses; and indicate in said display of said electronic mailcommunication whether said particular recipient is privileged to accesseach site address from among said selection of site accessibleaddresses.
 9. The computer program product according to claim 7 forselectively displaying mirrored site addresses wherein thecomputer-readable program when executed on a computer further causes thecomputer to: detect whether a client system receiving said electronicmail communication is compatible with a resource located at each of saidselection of accessible site addresses; and indicate in said display ofsaid electronic mail communication whether said client system iscompatible with said resource located at each of said selection ofaccessible site addresses.